<?php

$admin_rights_ret = new Ret('admin/rights.tpl', 'admin/rights.css');

// Prüfen, ob etwas gemacht werden muss
{
	if (is_array($_POST) and count($_POST) > 0) {
		
		// Prüfen, welche Funktion ausgeführt werden soll
		if (isset($_POST['function'])) {
			
			// Funktion ermitteln
			if ($_POST['function'] === 'delete') {
				// Diese Funktion löscht alle selektierten Rechte aus der Datenbank
				
				// Prüfen, ob Rechte ausgewählt wurden
				if (isset($_POST['rightselection'])) {
					
					// Alle selektierten Rechte löschen
					foreach ($_POST['rightselection'] as $sright) {
						DAOFactory::getInstance('Right')->deleteById($sright);
					}
					
				} else {
					// Es wurden keine Rechte angegeben
					$admin_rights_ret->add_error(ERR_NO_RIGHT_SELECTED);
				}
				
			} else if ($_POST['function'] === 'create') {
				// Diese Funktion legt ein neues Recht an
				
				$new_right = new Right($_POST['rightname'], $_POST['description']);
				$rightDAO = DAOFactory::getInstance('Right');
				
				if (!$right = $rightDAO->exists($new_right)) {
					
					$rightDAO->save($new_right);
					$admin_rights_ret->add_info('Das Recht "'.$_POST['rightname'].'" wurde angelegt');
					
				} else {
					
					$admin_rights_ret->add_error('Das Recht "'.$_POST['rightname'].'" gibt es bereits');
					
				}
				
				
			} else {
				// Es wiurde keine valide Funktion angegeben
				$admin_rights_ret->add_error(ERR_FUNCTION_NOT_DEFINED);
			}
			
		} else {
			// Es wurde keine Funktion definiert
			$admin_rights_ret->add_error(ERR_NO_FUNCTION_DEFINED);
		}
		
	}
}

// Daten für die view laden
{
	// Alle Rechte fürdie View laden
	$admin_rights_ret->add_data('rights', DAOFactory::getInstance('Right')->get_all());
}

// benötigte snippets für die view laden
{
	// Snippet zum erstelen eines neuen Rechtes
	$admin_rights_ret->add_jquerysnippet('admin/rights/create_new.js');
	
	// Snippet zur Definition des "delete_selected_rights" Buttons
	$admin_rights_ret->add_jquerysnippet('admin/rights/delete_selected.js');
	
	// Snippet zur Definition des "select_all_rights" Buttons
	$admin_rights_ret->add_jquerysnippet('admin/rights/select_all.js');
	
}

return $admin_rights_ret;

?>